package com.ruoyi.member.api.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 会员对象 ums_member
 * 
 * @author LEE
 * @date 2021-08-02
 */
public class UmsMember extends BaseEntity {
	private static final long serialVersionUID = 1L;

	/** 主键id */
	private Long id;

	/** 用户名 */
	@Excel(name = "用户名")
	private String username;

	/** 用户密码 */
	@Excel(name = "用户密码")
	private String password;

	/** 昵称 */
	@Excel(name = "昵称")
	private String nickname;

	/** 头像地址 */
	@Excel(name = "头像地址")
	private String image;

	/** 真实姓名 */
	@Excel(name = "真实姓名")
	private String relename;

	/** 身份证 */
	@Excel(name = "身份证")
	private String cardid;

	/** 性别 0 保密 1男 2女 默认0 */
	@Excel(name = "性别  0 保密 1男 2女 默认0")
	private String gender;

	/** 生日 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd")
	private Date birthday;

	/**
	 * 月收入 0 无收入 1 2000以下 2 2000-3999 3 4000-5999 4 6000－7999 5 8000以上
	 */
	@Excel(name = "月收入  0 无收入 1 2000以下 2 2000-3999 3 4000-5999 4 6000－7999  5 8000以上")
	private String monthlyIncome;

	/** 婚姻状况 0 保密 1未婚 2 已婚 默认0 保姆 */
	@Excel(name = "婚姻状况  0 保密 1未婚 2 已婚 默认0 保姆")
	private String marriageStatus;

	/** 手机号码 */
	@Excel(name = "手机号码")
	private String mobile;

	/** 邮箱地址 */
	@Excel(name = "邮箱地址")
	private String email;

	/** 更改中的邮箱（绑定新邮箱使用） */
	@Excel(name = "更改中的邮箱", readConverterExp = "绑=定新邮箱使用")
	private String modifiedEmail;

	/** 校验码（绑定新邮箱时使用） */
	@Excel(name = "校验码", readConverterExp = "绑=定新邮箱时使用")
	private String checkCode;

	/** 省 */
	@Excel(name = "省")
	private Long province;

	/** 市 */
	@Excel(name = "市")
	private Long city;

	/** 区 */
	@Excel(name = "区")
	private Long county;

	/** 详细地址 */
	@Excel(name = "详细地址")
	private String detailaddress;

	/** 兴趣爱好 */
	@Excel(name = "兴趣爱好")
	private String interest;

	/** 店铺id 平台的为0 默认为平台 */
	@Excel(name = "店铺id  平台的为0  默认为平台")
	private Long storeId;

	/** 1 普通用户 2 商家店铺用户 3 店铺员工 */
	@Excel(name = "1 普通用户 2 商家店铺用户 3 店铺员工")
	private String type;

	/** 总的消费金额 */
	@Excel(name = "总的消费金额")
	private BigDecimal consumptionAmount;

	/** 预存款支付密码 */
	@Excel(name = "预存款支付密码")
	private String paypassword;

	/**
	 * 用户注册来源 1 pc 2app 3 手机h5 4 管理员后台新增
	 */
	@Excel(name = "用户注册来源 1 pc  2app  3 手机h5 4 管理员后台新增")
	private String source;

	/** 用户状态 1 正常 2 冻结 3 未启用 默认1 */
	@Excel(name = "用户状态 1 正常 2 冻结  3 未启用 默认1 ")
	private String status;

	/** 会员签到次数 */
	@Excel(name = "会员签到次数")
	private Long signNum;

	/** 手机是否验证 0 否 1 验证 默认0 */
	@Excel(name = "手机是否验证  0 否 1 验证 默认0 ")
	private String isMobileVerification;

	/** 邮箱是否验证 0 否 1 验证 默认0 */
	@Excel(name = "邮箱是否验证   0 否 1 验证  默认0  ")
	private String isEmailVerification;

	/** 错误登录的次数 */
	@Excel(name = "错误登录的次数")
	private Long loginErrorCount;

	/** 删除标记 0 未删除 1删除 默认0 */
	private String delFlag;

	/** 修改时间 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
	private Date modifyTime;

	/** 删除时间 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "删除时间", width = 30, dateFormat = "yyyy-MM-dd")
	private Date delTime;

	/** 锁定时间 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "锁定时间", width = 30, dateFormat = "yyyy-MM-dd")
	private Date lockTime;

	/** 最近登陆时间 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "最近登陆时间", width = 30, dateFormat = "yyyy-MM-dd")
	private Date lastLoginTime;

	/** 推荐人的会员id 如果没有 则为-1 默认为-1 */
	@Excel(name = "推荐人的会员id  如果没有 则为-1  默认为-1")
	private Long recommended;

	/** 二级推荐人的会员id （上级的上级） 如果没有 则为-1 默认为-1 */
	@Excel(name = "二级推荐人的会员id ", readConverterExp = "上=级的上级")
	private Long sRecommended;

	/** 会员自己的推荐码 */
	@Excel(name = "会员自己的推荐码")
	private String selfRecommendCode;

	/** 会员的佣金 */
	@Excel(name = "会员的佣金")
	private BigDecimal commission;

	/** 会员所属的店铺id */
	@Excel(name = "会员所属的店铺id")
	private Long beloneStoreId;

	/** $column.columnComment */
	@Excel(name = "会员所属的店铺id")
	private String appletOpenId;

	/** $column.columnComment */
	@Excel(name = "会员所属的店铺id")
	private String appOpenId;

	/** $column.columnComment */
	@Excel(name = "会员所属的店铺id")
	private String h5OpenId;

	public void setId(Long id) {
		this.id = id;
	}

	public Long getId() {
		return id;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getUsername() {
		return username;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getPassword() {
		return password;
	}

	public void setNickname(String nickname) {
		this.nickname = nickname;
	}

	public String getNickname() {
		return nickname;
	}

	public void setImage(String image) {
		this.image = image;
	}

	public String getImage() {
		return image;
	}

	public void setRelename(String relename) {
		this.relename = relename;
	}

	public String getRelename() {
		return relename;
	}

	public void setCardid(String cardid) {
		this.cardid = cardid;
	}

	public String getCardid() {
		return cardid;
	}

	public void setGender(String gender) {
		this.gender = gender;
	}

	public String getGender() {
		return gender;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}

	public Date getBirthday() {
		return birthday;
	}

	public void setMonthlyIncome(String monthlyIncome) {
		this.monthlyIncome = monthlyIncome;
	}

	public String getMonthlyIncome() {
		return monthlyIncome;
	}

	public void setMarriageStatus(String marriageStatus) {
		this.marriageStatus = marriageStatus;
	}

	public String getMarriageStatus() {
		return marriageStatus;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	public String getMobile() {
		return mobile;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getEmail() {
		return email;
	}

	public void setModifiedEmail(String modifiedEmail) {
		this.modifiedEmail = modifiedEmail;
	}

	public String getModifiedEmail() {
		return modifiedEmail;
	}

	public void setCheckCode(String checkCode) {
		this.checkCode = checkCode;
	}

	public String getCheckCode() {
		return checkCode;
	}

	public void setProvince(Long province) {
		this.province = province;
	}

	public Long getProvince() {
		return province;
	}

	public void setCity(Long city) {
		this.city = city;
	}

	public Long getCity() {
		return city;
	}

	public void setCounty(Long county) {
		this.county = county;
	}

	public Long getCounty() {
		return county;
	}

	public void setDetailaddress(String detailaddress) {
		this.detailaddress = detailaddress;
	}

	public String getDetailaddress() {
		return detailaddress;
	}

	public void setInterest(String interest) {
		this.interest = interest;
	}

	public String getInterest() {
		return interest;
	}

	public void setStoreId(Long storeId) {
		this.storeId = storeId;
	}

	public Long getStoreId() {
		return storeId;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getType() {
		return type;
	}

	public void setConsumptionAmount(BigDecimal consumptionAmount) {
		this.consumptionAmount = consumptionAmount;
	}

	public BigDecimal getConsumptionAmount() {
		return consumptionAmount;
	}

	public void setPaypassword(String paypassword) {
		this.paypassword = paypassword;
	}

	public String getPaypassword() {
		return paypassword;
	}

	public void setSource(String source) {
		this.source = source;
	}

	public String getSource() {
		return source;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getStatus() {
		return status;
	}

	public void setSignNum(Long signNum) {
		this.signNum = signNum;
	}

	public Long getSignNum() {
		return signNum;
	}

	public void setIsMobileVerification(String isMobileVerification) {
		this.isMobileVerification = isMobileVerification;
	}

	public String getIsMobileVerification() {
		return isMobileVerification;
	}

	public void setIsEmailVerification(String isEmailVerification) {
		this.isEmailVerification = isEmailVerification;
	}

	public String getIsEmailVerification() {
		return isEmailVerification;
	}

	public void setLoginErrorCount(Long loginErrorCount) {
		this.loginErrorCount = loginErrorCount;
	}

	public Long getLoginErrorCount() {
		return loginErrorCount;
	}

	public void setDelFlag(String delFlag) {
		this.delFlag = delFlag;
	}

	public String getDelFlag() {
		return delFlag;
	}

	public void setModifyTime(Date modifyTime) {
		this.modifyTime = modifyTime;
	}

	public Date getModifyTime() {
		return modifyTime;
	}

	public void setDelTime(Date delTime) {
		this.delTime = delTime;
	}

	public Date getDelTime() {
		return delTime;
	}

	public void setLockTime(Date lockTime) {
		this.lockTime = lockTime;
	}

	public Date getLockTime() {
		return lockTime;
	}

	public void setLastLoginTime(Date lastLoginTime) {
		this.lastLoginTime = lastLoginTime;
	}

	public Date getLastLoginTime() {
		return lastLoginTime;
	}

	public void setRecommended(Long recommended) {
		this.recommended = recommended;
	}

	public Long getRecommended() {
		return recommended;
	}

	public void setsRecommended(Long sRecommended) {
		this.sRecommended = sRecommended;
	}

	public Long getsRecommended() {
		return sRecommended;
	}

	public void setSelfRecommendCode(String selfRecommendCode) {
		this.selfRecommendCode = selfRecommendCode;
	}

	public String getSelfRecommendCode() {
		return selfRecommendCode;
	}

	public void setCommission(BigDecimal commission) {
		this.commission = commission;
	}

	public BigDecimal getCommission() {
		return commission;
	}

	public void setBeloneStoreId(Long beloneStoreId) {
		this.beloneStoreId = beloneStoreId;
	}

	public Long getBeloneStoreId() {
		return beloneStoreId;
	}

	public void setAppletOpenId(String appletOpenId) {
		this.appletOpenId = appletOpenId;
	}

	public String getAppletOpenId() {
		return appletOpenId;
	}

	public void setAppOpenId(String appOpenId) {
		this.appOpenId = appOpenId;
	}

	public String getAppOpenId() {
		return appOpenId;
	}

	public void setH5OpenId(String h5OpenId) {
		this.h5OpenId = h5OpenId;
	}

	public String getH5OpenId() {
		return h5OpenId;
	}

	@Override
	public String toString() {
		return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("id", getId())
				.append("username", getUsername()).append("password", getPassword()).append("nickname", getNickname())
				.append("image", getImage()).append("relename", getRelename()).append("cardid", getCardid())
				.append("gender", getGender()).append("birthday", getBirthday())
				.append("monthlyIncome", getMonthlyIncome()).append("marriageStatus", getMarriageStatus())
				.append("mobile", getMobile()).append("email", getEmail()).append("modifiedEmail", getModifiedEmail())
				.append("checkCode", getCheckCode()).append("province", getProvince()).append("city", getCity())
				.append("county", getCounty()).append("detailaddress", getDetailaddress())
				.append("interest", getInterest()).append("storeId", getStoreId()).append("type", getType())
				.append("consumptionAmount", getConsumptionAmount()).append("paypassword", getPaypassword())
				.append("source", getSource()).append("status", getStatus()).append("signNum", getSignNum())
				.append("isMobileVerification", getIsMobileVerification())
				.append("isEmailVerification", getIsEmailVerification()).append("loginErrorCount", getLoginErrorCount())
				.append("delFlag", getDelFlag()).append("createTime", getCreateTime())
				.append("modifyTime", getModifyTime()).append("delTime", getDelTime()).append("lockTime", getLockTime())
				.append("lastLoginTime", getLastLoginTime()).append("recommended", getRecommended())
				.append("sRecommended", getsRecommended()).append("selfRecommendCode", getSelfRecommendCode())
				.append("commission", getCommission()).append("beloneStoreId", getBeloneStoreId())
				.append("appletOpenId", getAppletOpenId()).append("appOpenId", getAppOpenId())
				.append("h5OpenId", getH5OpenId()).toString();
	}
}
